#include <iostream>
#include "circledoublefun.h"
using namespace std;

// 创建循环双向链表
Dinklist circle_double_link_list()
{
  // 创建头节点
  DNode *L = new DNode;
  
  // 辅助指针
  DNode *p = L;
  
  // 输入
  int a;
  cin >> a;
  
  // 输入为0时，停止创建
  while (a != 0)
  {
    // 创建结点，并赋值
    DNode *q = new DNode;
    q->data = a;
    q->next = NULL;
    
    // 链接
    q->prior = p;
    p->next = q;
    
    // 更新辅助指针
    p = p->next;
    
    // 输入数值
    cin >> a;
  }
  
  // 链接头节点
  p->next = L;
  L->prior = p;
  
  // 返回
  return L;
}
